import akshare as ak
import pandas as pd

def fetch_net_value(fund_code):
    # 查询基金历史净值数据
    try:
        # 使用 AKShare 获取基金历史净值
        fund_net_value = ak.fund_open_fund_info_em(symbol=fund_code, indicator="单位净值走势")
        
        # 将数据转换为 DataFrame
        fund_net_value_df = pd.DataFrame(fund_net_value)
        
        # 重命名列（如果需要）
        #fund_net_value_df.columns = ["Date", "Net_Value"]
        
        # 查看数据
        print("基金历史净值数据：")
        print(fund_net_value_df.head())
        
        # 保存为 CSV 文件
        csv_filename = f"{fund_code}_net_value.csv"
        fund_net_value_df.to_csv(csv_filename, index=False, encoding="utf-8-sig")
        print(f"数据已成功保存到文件：{csv_filename}")
        
    except Exception as e:
        print(f"查询基金净值时出错：{e}")

# 设置基金代码
# 001875 前海开源沪港深优势精选混合A
# 001725 汇添富高端制造股票A
# 001044 嘉实新消费股票
# 004477 嘉实沪港深回报混合
# 519069 汇添富价值精选混合
# 169101 东方红睿丰混合
# 000478 建信中证500指数增强A
# 110022 易方达消费行业股票
fund_codes = ["001875","001725","001044","004477","519069","169101","000478","110022"]  # 示例基金代码，根据需要替换为实际的基金代码
for fund_code in fund_codes:
    fetch_net_value(fund_code)